package com.fy.common.config;

import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;

import java.util.Properties;

//生成图片验证码
public class KaptchaConfig {
    @Bean
    public DefaultKaptcha producer() {
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();

        Properties properties = new Properties();

        // 图片宽度
        properties.put("kaptcha.image.width", "120");
        // 图片高度
        properties.put("kaptcha.image.height", "40");
        // 字体颜色
        properties.put("kaptcha.textproducer.font.color", "0,191,255");
        // 字符间距
        properties.put("kaptcha.textproducer.char.space", "4");
        // 字体大小
        properties.put("kaptcha.textproducer.font.size", "30");
        // 字符长度
        properties.put("kaptcha.textproducer.char.length", "5");
        // 字体名称
        properties.put("kaptcha.textproducer.font.names", "Arial,Courier");
        // 边框
        properties.put("kaptcha.border", "no");
        // Session key
        properties.put("kaptcha.session.key", "code");
        // 噪点颜色
        properties.put("kaptcha.noise.color", "255,255,255");
        // 背景颜色
        properties.put("kaptcha.background.clear.color", "255,255,255");
        // 文本producer实现
        properties.put("kaptcha.textproducer.impl", "com.google.code.kaptcha.text.impl.DefaultTextCreator");
        // 噪声实现
        properties.put("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
        // 背景干扰实现
        properties.put("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.LineOverlay");
        // 字符集合
        properties.put("kaptcha.textproducer.char.string", "23456789ABCDEFGHJKLMNPQRSTUVWXYZ");

        Config config = new Config(properties);
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }

}
